Apache Ant একটি ওপেন সোর্স বিল্ড টুল যা মূলত Java প্রকল্পের জন্য ব্যবহৃত হয়, তবে এটি অন্যান্য প্রোগ্রামিং ভাষার জন্যও ব্যবহার করা যেতে পারে। Ant API আপনাকে একটি কাস্টম টাস্ক তৈরি করার সুবিধা দেয়, যা আপনার প্রোজেক্টের নির্দিষ্ট প্রয়োজনীয়তা অনুযায়ী তৈরি করা হয়। Ant API ব্যবহারের মাধ্যমে আপনি এমন টাস্ক তৈরি করতে পারেন যা অ্যান্টের বিল্ট-ইন টাস্কের বাইরে অতিরিক্ত কার্যাবলী সম্পাদন করে।
এই নিবন্ধে আমরা Ant API ব্যবহার করার প্রক্রিয়া এবং এর সুবিধাগুলি নিয়ে আলোচনা করবো।
Ant API Java ক্লাসের একটি সেট যা আপনাকে Apache Ant বিল্ড টুলের সাথে ইন্টারঅ্যাক্ট করতে সহায়তা করে। এটি আপনাকে আপনার কাস্টম বিল্ড টাস্ক তৈরি করতে এবং অ্যান্ট বিল্ড স্ক্রিপ্টে ইন্টিগ্রেট করতে সহায়তা করে।
অ্যান্ট API সাধারণত নিম্নলিখিত কাজের জন্য ব্যবহৃত হয়:
Ant API ব্যবহার করে একটি কাস্টম টাস্ক তৈরি করতে, আপনাকে org.apache.tools.ant.Task
ক্লাস থেকে ইনহেরিট করতে হবে। এই ক্লাসে execute()
মেথডটি ওভাররাইড করতে হয়, যেখানে টাস্কের কার্যাবলী সংজ্ঞায়িত করা হবে।
package com.example;
import org.apache.tools.ant.Task;
public class HelloWorldTask extends Task {
private String message;
// Setter for message property
public void setMessage(String message) {
this.message = message;
}
// Overriding execute() method to define the task's functionality
@Override
public void execute() {
if (message != null) {
System.out.println(message);
} else {
System.out.println("Hello, Apache Ant!");
}
}
}
এটি একটি HelloWorldTask
কাস্টম টাস্ক তৈরি করছে যা একটি বার্তা কনসোলে প্রিন্ট করবে। setMessage
মেথডের মাধ্যমে ব্যবহারকারী বার্তা পাস করতে পারেন এবং execute
মেথডে সেই বার্তা কনসোলে আউটপুট হবে।
setMessage
: এটি একটি প্রপার্টি সেট করতে ব্যবহৃত হয় যা কাস্টম টাস্কের বার্তা ধারণ করবে।execute()
: এটি সেই কার্যাবলী যেখানে কাস্টম টাস্কের লজিক সংজ্ঞায়িত হয়।একবার কাস্টম টাস্ক তৈরি করার পর, আপনাকে এটি Ant Build Script-এ ব্যবহার করতে হবে। এর জন্য, আপনাকে taskdef
টাস্ক ব্যবহার করে কাস্টম টাস্কটিকে স্ক্রিপ্টে ডিফাইন করতে হবে।
<?xml version="1.0" encoding="UTF-8"?>
<project name="CustomTaskProject" default="helloWorld" basedir=".">
<!-- Define the classpath for the custom task -->
<path id="task.classpath">
<fileset dir="build/classes"/>
</path>
<!-- Define the custom task -->
<taskdef name="hello" classname="com.example.HelloWorldTask" classpathref="task.classpath"/>
<!-- Call the custom task -->
<target name="helloWorld">
<hello message="Welcome to Apache Ant!"/>
</target>
</project>
এখানে:
taskdef
টাস্কটি HelloWorldTask
কাস্টম টাস্ককে Ant Build Script-এ ডিফাইন করে।name
: এটি টাস্কের নাম যা ব্যবহারকারী কল করতে পারে।classname
: এটি কাস্টম টাস্কের Java ক্লাসের পূর্ণ নাম।classpathref
: এটি ক্লাসপাথ রেফারেন্স, যা টাস্কের জন্য প্রয়োজনীয় Java ক্লাস বা JAR ফাইলগুলো অন্তর্ভুক্ত করবে।Ant API ব্যবহার করে আপনি ফাইল এবং ডিরেক্টরি সম্পর্কিত কাজ যেমন কপি, মুভ, ডিলিট, এবং অন্যান্য কার্যাবলী সম্পাদন করতে পারেন। এর জন্য org.apache.tools.ant.types.FileSet
এবং org.apache.tools.ant.types.DirSet
ক্লাসগুলো ব্যবহৃত হয়।
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.FileSet;
public class CopyFilesTask extends Task {
private FileSet fileset;
public void setFileset(FileSet fileset) {
this.fileset = fileset;
}
@Override
public void execute() {
if (fileset != null) {
// Perform file operations here, for example, copy files
System.out.println("Files are being copied from: " + fileset.getDir(getProject()));
}
}
}
এটি একটি CopyFilesTask
কাস্টম টাস্ক তৈরি করছে যা FileSet
ব্যবহার করে ফাইল কপি করতে সক্ষম। আপনি setFileset
মেথডের মাধ্যমে ফাইল পাথ নির্ধারণ করতে পারেন।
FileSet
: এটি ফাইল বা ডিরেক্টরি পাথের সেট তৈরি করতে ব্যবহৃত হয়।getProject()
: এটি Ant Project অবজেক্ট ফিরিয়ে দেয়, যা টাস্কের মধ্যে ব্যবহৃত হয়।Ant API আপনাকে বিল্ড স্ক্রিপ্টের মধ্যে লোগিং তৈরি করতে সহায়তা করে। আপনি Project
ক্লাস ব্যবহার করে লোগিং এবং রিপোর্টিং তৈরি করতে পারেন।
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
public class LoggingTask extends Task {
@Override
public void execute() {
Project project = getProject();
project.log("This is an info message", Project.MSG_INFO);
project.log("This is a warning message", Project.MSG_WARN);
project.log("This is an error message", Project.MSG_ERR);
}
}
এটি LoggingTask
ক্লাসে তিনটি ধরনের বার্তা লগ করবে: info, warning, এবং error।
getProject()
: এটি প্রকল্প অবজেক্ট ফিরিয়ে দেয়।project.log()
: এটি লগ মেসেজ প্রিন্ট করতে ব্যবহৃত হয়।Ant API ব্যবহার করে আপনি property এবং variable পরিচালনা করতে পারেন। setProperty
এবং getProperty
মেথড ব্যবহার করে আপনি প্রপার্টি সেট এবং রিড করতে পারেন।
import org.apache.tools.ant.Task;
public class PropertyTask extends Task {
private String name;
private String value;
// Setters for name and value
public void setName(String name) {
this.name = name;
}
public void setValue(String value) {
this.value = value;
}
@Override
public void execute() {
getProject().setProperty(name, value);
System.out.println("Property " + name + " set to " + value);
}
}
এটি PropertyTask
ক্লাস তৈরি করছে, যা একটি প্রপার্টি সেট করবে এবং সেটির মান কনসোলে প্রিন্ট করবে।
Apache Ant API ব্যবহার করে আপনি কাস্টম টাস্ক তৈরি এবং পরিচালনা করতে পারেন, যা আপনার প্রোজেক্টের জন্য বিশেষভাবে প্রয়োজনীয় কাজ সম্পাদন করতে সক্ষম। Task, FileSet, Project, এবং DirSet এর মতো ক্লাসগুলো ব্যবহার করে আপনি বিল্ড স্ক্রিপ্টে নতুন টাস্ক তৈরি করতে পারেন যা ফাইল সিস্টেম, লোগিং, প্রপার্টি পরিচালনা, এবং আরও অনেক কিছু সম্পাদন করবে। Ant API ব্যবহারের মাধ্যমে, আপনি বিল্ড প্রক্রিয়া আরও শক্তিশালী, নমনীয় এবং কাস্টমাইজড করতে পারবেন।
Apache Ant একটি বিল্ড টুল যা সাধারণত Java প্রজেক্টের জন্য ব্যবহৃত হয়। তবে, Apache Ant API আপনাকে Ant-এর কার্যকারিতা এবং টাস্কগুলির সাথে সরাসরি যোগাযোগ করতে Java কোড ব্যবহার করার সুযোগ দেয়। এটি একটি শক্তিশালী API যা আপনাকে Ant টাস্কগুলির মধ্যে কার্যক্রম কাস্টমাইজ করতে এবং আপনার Java অ্যাপ্লিকেশনে Ant এর সুবিধা ব্যবহার করতে সহায়তা করে।
Apache Ant API মূলত Ant স্ক্রিপ্টের মধ্যে টাস্কগুলিকে Java প্রোগ্রামে একীভূত (integrate) করতে সহায়তা করে। এটি আপনাকে Java কোড থেকে Ant টাস্ক চালানোর সুযোগ দেয়, যা প্রোগ্রামেটিকালি বিল্ড প্রক্রিয়া কন্ট্রোল করা সম্ভব করে তোলে। Ant API বিভিন্ন ধরনের কন্ট্রোল, কাস্টম টাস্ক তৈরি এবং বিল্ড প্রসেসে আরও উন্নত ফিচার সংযোজনের জন্য ব্যবহৃত হয়।
Ant API ব্যবহারের জন্য আপনাকে সাধারণত Java ক্লাস তৈরি করতে হবে যা Ant প্রকল্পের কিছু নির্দিষ্ট কাজ বা টাস্ক সম্পাদন করবে। নিচে একটি উদাহরণ দেওয়া হলো যা Ant API ব্যবহার করে একটি কাস্টম টাস্ক তৈরি ও পরিচালনা করবে।
ধরা যাক, আপনি একটি কাস্টম টাস্ক তৈরি করতে চান যা কনসোলে একটি বার্তা প্রিন্ট করবে। নিচে একটি Java ক্লাসের উদাহরণ দেওয়া হল যা Ant টাস্ক তৈরি করবে।
import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;
public class CustomTask extends Task {
private String message;
// Setter method for message
public void setMessage(String message) {
this.message = message;
}
// Overriding the execute method to define the task functionality
@Override
public void execute() throws BuildException {
if (message == null) {
throw new BuildException("No message specified!");
}
System.out.println("Custom Task Message: " + message);
}
}
<project name="CustomTaskExample" default="runCustomTask" basedir=".">
<!-- Register the custom task -->
<taskdef name="customtask" classname="CustomTask" />
<target name="runCustomTask">
<!-- Use the custom task -->
<customtask message="Hello from Custom Task!" />
</target>
</project>
এখানে:
এখন আপনি Ant স্ক্রিপ্ট চালিয়ে কাস্টম টাস্ক কার্যকর করতে পারেন:
ant runCustomTask
Custom Task Message: Hello from Custom Task!
এখানে একটি উদাহরণ দেওয়া হলো যেখানে Java প্রোগ্রামে Ant টাস্ক চালানো হচ্ছে।
import org.apache.tools.ant.Project;
import org.apache.tools.ant.DefaultLogger;
import org.apache.tools.ant.Target;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Main;
public class AntIntegrationExample {
public static void main(String[] args) throws BuildException {
// Create an Ant project instance
Project project = new Project();
project.init();
// Create a logger to display the output
DefaultLogger logger = new DefaultLogger();
logger.setMessageOutputLevel(Project.MSG_INFO);
logger.setOutputPrintStream(System.out);
project.addBuildListener(logger);
// Define a simple target
Target target = new Target();
target.setName("exampleTarget");
// Create a simple task
Task task = new Task() {
public void execute() {
System.out.println("Task executed successfully!");
}
};
// Add the task to the target
target.addTask(task);
project.addTarget(target);
// Execute the target
project.executeTarget("exampleTarget");
}
}
এখানে:
Task executed successfully!
Ant API আপনাকে Apache Ant টাস্কগুলির সাথে প্রোগ্রামেটিকালি ইন্টিগ্রেশন করার সুযোগ দেয়। এটি কাস্টম টাস্ক তৈরি করা, Java কোডে বিল্ড কার্যক্রম সম্পাদন করা, এবং টাস্কগুলির মধ্যে ডাইনামিক সম্পর্ক স্থাপন করতে ব্যবহৃত হয়। Ant API এর মাধ্যমে আপনি কাস্টম টাস্ক, টার্গেট, এবং কার্যক্রমের মধ্যে আরও শক্তিশালী কাস্টমাইজেশন ও কন্ট্রোল তৈরি করতে পারেন যা আপনার বিল্ড প্রক্রিয়াকে আরও উন্নত এবং কার্যকরী করে তোলে।
Apache Ant একটি শক্তিশালী বিল্ড টুল যা Java ভিত্তিক প্রকল্পের জন্য ব্যবহৃত হয়। Custom Tasks তৈরি করা অ্যাপাচি অ্যান্টের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা আপনাকে আপনার নির্দিষ্ট প্রয়োজন অনুসারে বিল্ড স্ক্রিপ্টে নতুন কার্যকলাপ বা টাস্ক যুক্ত করতে সাহায্য করে। আপনি ANT API ব্যবহার করে নিজের কাস্টম টাস্ক তৈরি করতে পারেন, যা আপনার বিল্ড প্রক্রিয়াকে আরও শক্তিশালী এবং কাস্টমাইজড করে তোলে।
এখানে আমরা আলোচনা করব ANT API ব্যবহার করে কাস্টম টাস্ক কীভাবে তৈরি করা যায়।
ANT API ব্যবহার করে কাস্টম টাস্ক তৈরি করতে, আপনাকে একটি Java ক্লাস তৈরি করতে হবে যা Task
ক্লাসকে এক্সটেন্ড করবে। এর মধ্যে আপনি execute()
মেথডটি ওভাররাইড করবেন, যা আপনার কাস্টম কার্যকলাপ নির্ধারণ করবে।
Custom Task তৈরির জন্য আপনাকে তিনটি প্রধান পদক্ষেপ অনুসরণ করতে হবে:
Task
ক্লাস এক্সটেন্ড করবে।<taskdef>
টাস্ক দিয়ে কাস্টম টাস্ককে অ্যান্ট স্ক্রিপ্টে রেজিস্টার করা।এখানে আমরা একটি সাধারণ Custom Task তৈরি করব যা একটি মেসেজ কনসোলে প্রিন্ট করবে।
MyCustomTask.java:
package com.example;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.BuildException;
public class MyCustomTask extends Task {
private String message; // Property to hold the message
// Setter method to allow setting the message property
public void setMessage(String message) {
this.message = message;
}
// Overriding the execute method to define the task's behavior
@Override
public void execute() throws BuildException {
if (message == null) {
throw new BuildException("Message not set for MyCustomTask.");
}
System.out.println(message); // Print the message to the console
}
}
এখানে:
MyCustomTask
ক্লাসটি org.apache.tools.ant.Task
ক্লাসকে এক্সটেন্ড করেছে।setMessage()
মেথডটি একটি String প্রপার্টি message
সেট করার জন্য ব্যবহৃত হয়।execute()
মেথডটি কাস্টম কার্যকলাপ, অর্থাৎ মেসেজ কনসোলে প্রিন্ট করার কাজটি বাস্তবায়ন করে।<taskdef>
টাস্ক ব্যবহার করে কাস্টম টাস্ক ডিফাইন করা:এখন, আপনার MyCustomTask
ক্লাসটি ব্যবহার করার জন্য এটি অ্যাপাচি অ্যান্ট বিল্ড স্ক্রিপ্টে রেজিস্টার করতে হবে। এটি করার জন্য, আপনাকে <taskdef>
টাস্ক ব্যবহার করতে হবে।
build.xml:
<project name="CustomTaskExample" default="run-custom-task">
<!-- Register the custom task -->
<taskdef name="mytask" classname="com.example.MyCustomTask" classpath="lib/custom-task.jar"/>
<!-- Run the custom task -->
<target name="run-custom-task">
<mytask message="Hello from Custom Task!"/>
</target>
</project>
এখানে:
<taskdef>
টাস্কটি com.example.MyCustomTask
ক্লাসটিকে mytask
নামে অ্যান্ট বিল্ড স্ক্রিপ্টে রেজিস্টার করছে।<mytask message="Hello from Custom Task!"/>
টাস্কটি বিল্ড স্ক্রিপ্টে mytask
নামে কল করা হচ্ছে এবং message
প্রপার্টি সেট করা হয়েছে।classpath="lib/custom-task.jar"
এর মাধ্যমে আপনি কাস্টম টাস্কের ক্লাস ফাইলের পাথ উল্লেখ করবেন, যা custom-task.jar
নামে একটি জার ফাইল হতে পারে।
এখন আপনি <mytask>
টাস্কটি আপনার বিল্ড স্ক্রিপ্টে ব্যবহার করতে পারবেন। কাস্টম টাস্কটি নির্দিষ্ট message
প্রপার্টি সেট করে একটি মেসেজ কনসোলে প্রিন্ট করবে।
build.xml:
<project name="CustomTaskExample" default="run-custom-task">
<!-- Register the custom task -->
<taskdef name="mytask" classname="com.example.MyCustomTask" classpath="lib/custom-task.jar"/>
<!-- Run the custom task -->
<target name="run-custom-task">
<mytask message="This is a custom message!"/>
</target>
</project>
এখানে:
<mytask message="This is a custom message!"/>
টাস্কটি কাস্টম মেসেজ কনসোলে প্রিন্ট করবে।This is a custom message!
BuildException
ব্যবহার করুন যখন কাস্টম টাস্কে কোনো ত্রুটি ঘটে, যাতে বিল্ড প্রক্রিয়া সঠিকভাবে থেমে যায় এবং ব্যবহারকারীকে ত্রুটি বার্তা দেখানো যায়।message
বা অন্য কোন ইনপুট। এটি কাস্টম টাস্কটিকে আরও ডাইনামিক এবং পুনঃব্যবহারযোগ্য করে তোলে।<taskdef>
টাস্কের মাধ্যমে লাইব্রেরির JAR ফাইল অন্তর্ভুক্ত করুন।<taskdef>
টাস্ক অ্যাপাচি অ্যান্টে কাস্টম টাস্ক ডিফাইন করার জন্য ব্যবহৃত হয়, যা আপনাকে আপনার নিজস্ব কার্যকলাপ বিল্ড প্রক্রিয়ায় অন্তর্ভুক্ত করতে সহায়তা করে। আপনি ANT API ব্যবহার করে Java ক্লাস তৈরি করতে পারেন, যা আপনার কাস্টম টাস্কের কার্যকলাপ নির্ধারণ করবে। কাস্টম টাস্কগুলি অ্যাপাচি অ্যান্ট বিল্ড স্ক্রিপ্টে সহজে রেজিস্টার করা যেতে পারে এবং পরে প্রয়োজন অনুযায়ী টাস্কগুলো ব্যবহার করা যেতে পারে। Best practices অনুসরণ করে, আপনি আপনার কাস্টম টাস্কগুলিকে আরও কার্যকরী এবং পুনঃব্যবহারযোগ্য করে তুলতে পারবেন, যা বিল্ড প্রক্রিয়াকে আরও শক্তিশালী এবং কাস্টমাইজড করে তোলে।
Apache Ant একটি শক্তিশালী বিল্ড টুল যা Java প্রজেক্টের বিল্ড, টেস্টিং, প্যাকেজিং এবং ডিপ্লয়মেন্টের জন্য ব্যবহৃত হয়। Java থেকে Ant বিল্ড স্ক্রিপ্ট রান করার ক্ষমতা আপনাকে Java প্রোগ্রাম থেকে সরাসরি Ant টাস্ক বা বিল্ড স্ক্রিপ্ট চালানোর সুযোগ দেয়, যা বিভিন্ন ধরনের অটোমেশন বা ইন্টিগ্রেশন সিস্টেমে খুবই উপকারী হতে পারে।
এই টাস্কটির মাধ্যমে আপনি Java কোডের মধ্যে থাকা অবস্থায় Ant এর বিল্ড স্ক্রিপ্টগুলো চালাতে পারেন, যেমন যখন আপনাকে একটি বৃহৎ অটোমেশন বা টুলে অন্তর্ভুক্ত করতে হয় অথবা যখন আপনাকে একাধিক টাস্ক একসাথে চালাতে হয়।
Ant থেকে Java প্রোগ্রামে বিল্ড স্ক্রিপ্ট রান করতে বেশ কিছু পদ্ধতি রয়েছে। সবচেয়ে সহজ এবং জনপ্রিয় পদ্ধতি হল AntRunner
বা BuildListener
ব্যবহার করা। এর মাধ্যমে আপনি Java থেকে Ant বিল্ড স্ক্রিপ্টটি চালাতে পারেন।
BuildLauncher
ব্যবহার করাBuildLauncher
হল একটি API যা Java থেকে Ant বিল্ড রান করতে ব্যবহৃত হয়। এটি Ant এর বিল্ড ফাইল চালানোর জন্য ব্যবহার করা হয়।
আপনি যদি Maven বা Gradle ব্যবহার করেন, তবে Apache Ant API আপনার প্রজেক্টে অন্তর্ভুক্ত করতে হবে। Maven এর জন্য নিম্নলিখিত ডিপেন্ডেন্সি ব্যবহার করতে পারেন:
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.10.12</version> <!-- Use the latest version -->
</dependency>
BuildLauncher
to Execute an Ant Build Scriptএখন, আপনি Java থেকে Ant বিল্ড স্ক্রিপ্ট চালাতে BuildLauncher
API ব্যবহার করতে পারবেন। এটি Ant বিল্ড স্ক্রিপ্ট চালানোর জন্য একটি সহজ উপায় প্রদান করে।
import org.apache.tools.ant.Project;
import org.apache.tools.ant.ProjectHelper;
import java.io.File;
public class AntRunner {
public static void main(String[] args) {
try {
// Create an Ant Project
Project project = new Project();
project.init();
// Specify the build file (build.xml)
File buildFile = new File("build.xml");
// Load the build file
ProjectHelper helper = ProjectHelper.getProjectHelper();
project.addReference("ant.projectHelper", helper);
helper.parse(project, buildFile);
// Execute a target (example: 'build')
project.executeTarget("build");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Project
: এটি Ant প্রজেক্ট তৈরি করে, যা সমস্ত বিল্ড টাস্ক এবং কনফিগারেশন ধারণ করে।ProjectHelper
: এটি বিল্ড স্ক্রিপ্ট build.xml
লোড এবং পার্স করার জন্য ব্যবহৃত হয়।executeTarget("build")
: এই লাইনটি Ant বিল্ড স্ক্রিপ্টের build
টার্গেট চালানোর জন্য ব্যবহৃত হয়।এই উদাহরণটি build.xml
ফাইল থেকে build
টার্গেটটি চালাবে। আপনি যে কোনো টার্গেট বা কাজ করতে চান, তা এই কোডের মাধ্যমে করতে পারবেন।
এখন, আপনার Java প্রোগ্রামটি রান করার মাধ্যমে Ant বিল্ড স্ক্রিপ্টটি চালানো যাবে। নিচে এই প্রোগ্রামটির আউটপুটের কিছু উদাহরণ দেওয়া হলো:
Running Ant build script from Java...
এটি build.xml
ফাইলের মধ্যে ডিফাইন করা সমস্ত টাস্ক বা টার্গেট চালাবে।
AntLauncher
ব্যবহার করাAntLauncher
API ব্যবহার করে আপনি Java প্রোগ্রাম থেকে Ant বিল্ড স্ক্রিপ্ট রান করতে পারেন।
import org.apache.tools.ant.launch.Launcher;
public class AntRunner {
public static void main(String[] args) {
try {
// Initialize the AntLauncher
Launcher launcher = new Launcher();
// Run the Ant build script
launcher.execute("build.xml", "build");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Launcher
: এটি Ant বিল্ড রান করার জন্য ব্যবহৃত একটি ক্লাস।execute("build.xml", "build")
: এটি build.xml
ফাইল থেকে build
টার্গেট চালায়।এটি একটি সহজ এবং সরল পদ্ধতি, তবে অধিক কাস্টমাইজেশন ও নিয়ন্ত্রণের জন্য প্রথম পদ্ধতি (BuildLauncher) বেশি ব্যবহার করা হয়।
Java থেকে Ant বিল্ড স্ক্রিপ্ট চালানো একটি কার্যকরী পদ্ধতি, বিশেষত যখন আপনি Java অ্যাপ্লিকেশন বা সিস্টেমে Ant বিল্ড প্রক্রিয়া অন্তর্ভুক্ত করতে চান। BuildLauncher
এবং AntLauncher
ব্যবহার করে আপনি সহজে Ant বিল্ড স্ক্রিপ্ট রান করতে পারবেন এবং Java প্রোগ্রামে Ant বিল্ড সিস্টেম ইন্টিগ্রেট করতে পারবেন।
common.read_more